package com.gadgets.busi.bm08.common.dto;

import com.gadgets.busi.bm08.pojo.HdsQuestion;
import com.gadgets.framework.common.dto.BaseDTO;

/**
 * 功能说明：题目生成控制
 * 软件版权：恒生电子股份有限公司
 *
 * @author xiujunqing
 * @version V202101.00.000
 * @data 2022-05-24
 * 修改记录：  修改日期          修改人员    修改说明
 * 2022-05-24  xiujunqing   创建文件
 */
public class QuestionGenerateDTO extends BaseDTO {

	/**
	 * 总分
	 */
	private int totalScore;
	/**
	 * 偏移分
	 */
	private int drift;
	/**
	 * 题型维度
	 */
	private DimensionTypeDTO type;
	/**
	 * 级别维度
	 */
	private DimensionLevelDTO level;
	/**
	 * 模块维度
	 */
	private DimensionModuelDTO moduel;

	public int getTotalScore() {
		return totalScore;
	}

	public void setTotalScore(int totalScore) {
		this.totalScore = totalScore;
	}

	public int getDrift() {
		return drift;
	}

	public void setDrift(int drift) {
		this.drift = drift;
	}

	public DimensionTypeDTO getType() {
		return type;
	}

	public void setType(DimensionTypeDTO type) {
		this.type = type;
	}

	public DimensionLevelDTO getLevel() {
		return level;
	}

	public void setLevel(DimensionLevelDTO level) {
		this.level = level;
	}

	public DimensionModuelDTO getModuel() {
		return moduel;
	}

	public void setModuel(DimensionModuelDTO moduel) {
		this.moduel = moduel;
	}

	public void calculatePoint(HdsQuestion hds,int direction) {
		// 更新计算总分
		this.totalScore = this.totalScore + (hds.getPoint() * direction);
		// 更新计算 题型分
		this.getType().calculatePoint(hds,direction);
		// 更新计算 级别分
		this.getLevel().calculatePoint(hds,direction);
		// 更新计算 模块分
		this.getModuel().calculatePoint(hds,direction);
	}

	public void init() {
		this.setType(new DimensionTypeDTO());
		this.setLevel(new DimensionLevelDTO());
		this.setModuel(new DimensionModuelDTO());
	}
}
